package com.rayframework.context.support;

import com.rayframework.beans.factory.config.BeanDefinition;
import com.rayframework.beans.factory.support.BeanDefinitionRegistry;

/**
 * 提供了一种通用的应用程序上下文实现方式
 * <br/>
 * 可以加载多种类型的配置文件，包括基于XML的配置文件、基于注解的配置等。
 * 它支持在运行时动态地修改Bean的定义和属性值，并且提供了丰富的生命周期管理功能，如Bean的创建、初始化、销毁等
 *
 * @author LiaoYuXing-Ray
 * @version 1.0
 * @createDate 2023/11/25 15:49
 * @see BeanDefinitionRegistry
 **/
public class GenericApplicationContext extends AbstractApplicationContext implements BeanDefinitionRegistry {


    @Override
    public Object getBean(String beanName) throws Exception {
        return null;
    }

    @Override
    public <T> T getBean(String name, Class<? extends T> clazz) throws Exception {
        return null;
    }

    @Override
    public boolean containsBean(Class<?> clazz) {
        return false;
    }

    @Override
    public boolean containsBean(String beanName) {
        return false;
    }

    @Override
    public void registerBeanDefinition(String beanName, BeanDefinition beanDefinition) {

    }

    @Override
    public void removeBeanDefinition(String beanName) throws Exception {

    }

    @Override
    public BeanDefinition getBeanDefinition(String beanName) throws Exception {
        return null;
    }

    @Override
    public boolean containsBeanDefinition(String beanName) {
        return false;
    }

    @Override
    public int getBeanDefinitionCount() {
        return 0;
    }

    @Override
    public String[] getBeanDefinitionNames() {
        return new String[0];
    }
}
